package com.ayu.shortlink.settlement.service;

import com.ayu.shortlink.settlement.dao.entity.UserCouponDO;
import com.ayu.shortlink.settlement.dto.req.ExpansionCouponReqDTO;
import com.ayu.shortlink.settlement.dto.req.PayCommand;
import com.ayu.shortlink.settlement.dto.req.RollbackConsumeCouponReqDTO;
import com.ayu.shortlink.settlement.dto.req.UseCouponReqDTO;
import com.ayu.shortlink.settlement.dto.resp.ChoseCouponTemplateRespDTO;
import com.baomidou.mybatisplus.extension.service.IService;

public interface UserCouponService  extends IService<UserCouponDO> {


    /**
     * 选择优惠券之后 能够返回订单的金额
     * @param requestParam 请求参数
     * @return
     */
    ChoseCouponTemplateRespDTO choseCouponTemplate(PayCommand requestParam);

    /**
     * 核销优惠券
     * @param requestParam
     * @return
     */
    void useCouponTemplate(UseCouponReqDTO requestParam);

    /**
     * 用户撤销核销券
     * @param requestParam
     */
    void rollbackConsumeCoupon(RollbackConsumeCouponReqDTO requestParam);

    /**
     * 用户优惠券膨胀
     * @param requestParam
     */
    void expansionCoupon(ExpansionCouponReqDTO requestParam);
}
